<?php  
	//******************文章与分类关联视图模型******************
	class ArticleCateViewModel extends ViewModel{
		//定义主表
		public $table = 'article';

		//******************定义关联表信息******************
		public $view = array(
			//定义category表规则
			'category' => array(
				//指定连接方式
				'type'	=> INNER_JOIN,
				//关联条件
				'on'	=> 'article.category_cid = category.cid'
			),
			'article_data'=>array(
				//指定连接方式
				'type' => INNER_JOIN, 
				//关联条件
				'on' => 'article.aid=article_data.article_aid'
			)
		);

		//******************获得数据方法*************
		public function get_all($where=NULL,$field=NULL,$rows=10,$pageNum=3,$pageStyle=2){
			//分页类使用 参数 1.总数，2.每页多少条，3.显示几个页码,4.页码的风格
			//获得数据总数
			$total = $this -> where($where) -> count();
			//实例化分页类
			$page = new Page($total,$rows,$pageNum,$pageStyle);
			//分页显示
			$pageData = $page -> show();
			//获得数据
			$data = $this -> where($where) -> field($field) -> all($page -> limit());
			//将分页压入$data中
			$data['page'] = $pageData;
			return $data;
		}

		//******************获得旧数据方法*************
		public function get_old_data($aid){
			return $arc = $this -> where(array('aid'=>$aid)) -> find();
		}

		/**
		 * [get_one 获得一条数据]
		 * @param  [type] $aid [文章aid]
		 * @return [type]      [description]
		 */
		public function get_one($aid){
			return $this->where(array('aid'=>$aid))->find();
		}

		/**
		 * [get_join_data 获得关联表数据]
		 * @param  [type] $table [关联的表名]
		 * @param  [type] $field [获取的字段]
		 * @param  [type] $limit [分页]
		 * @return [type]        [description]
		 */
		public function get_join_data($table,$field=NULL,$limit=NULL){
			return $this -> join($table) -> field($field) -> all($limit);
		}

		/**
		 * [get_join_count 统计总数]
		 * @param  [type] $table [关联表名]
		 * @return [type]        [description]
		 */
		public function get_join_count($table){
			return $this -> join($table) -> count();
		}
	}
?>